# -*- coding: utf-8 -*-
from skimage import data
import numpy as np
import math
import matplotlib.pyplot as plt

#RGB图像分割
def main(image):
    r=image[:,:,0]
    g=image[:,:,1]
    b=image[:,:,2]
    #RGB颜色空间中的分割
    #选择样本区域
    r1=r[128:255,85:169]
    #计算该区域中的彩色点的平均向量a的红色分量
    r1_u=np.mean(r1)
    #计算样本点红色分量的标准差
    r1_d=0.0
    for i in range(r1.shape[0]):
        for j in range(r1.shape[1]):
            r1_d=r1_d+(r1[i,j]-r1_u)*(r1[i,j]-r1_u)
    r1_d=math.sqrt(r1_d/r1.shape[0]/r1.shape[1])
    #寻找符合的点，r2位红色分割的图像
    r2=np.zeros(r.shape,dtype='uint8')
    for i in range(r.shape[0]):
        for j in range(r.shape[1]):
            if r[i,j]>=(r1_u-1.25*r1_d) and r[i,j]<=(r1_u+1.25*r1_d):
                r2[i,j]=1
    #image2为更具红色分割后的RGB图像
    image2=np.zeros(image.shape,dtype='uint8')
    for i in range(r.shape[0]):
        for j in range(r.shape[1]):
            if r2[i,j]==1:
                image2[i,j,:]=image[i,j,:]
    return image,r,g,b,r2,image2


#调用函数
#image=data.coffee()
#gh=main(image)
##画图
#plt.figure()
#plt.axis('off')
#plt.imshow(gh[0])#显示原始RGB图像
#
#plt.figure()
#plt.axis('off')
#plt.imshow(gh[1],cmap='gray')#显示R分量图像
#
#plt.figure()
#plt.axis('off')
#plt.imshow(gh[2],cmap='gray')#显示G分量图像
#
#plt.figure()
#plt.axis('off')
#plt.imshow(gh[3],cmap='gray')#显示b分量图像
#
#plt.figure()
#plt.axis('off')
#plt.imshow(gh[4],cmap='gray')#显示红色分割图像
#
#plt.figure()
#plt.axis('off')
#plt.imshow(gh[5],cmap='gray')#显示分割后的图像
#
#




